// Volume.h: interface for the Volume class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VOLUME_H__56857254_6D34_4891_B603_46A833E91CF2__INCLUDED_)
#define AFX_VOLUME_H__56857254_6D34_4891_B603_46A833E91CF2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "PersistentObject.h"
#include "GraphicModelSpaceManager.h"

UE_DECLARE_VISITOR(VolumeVisitor, Volume*, BOOL);

class DllExport Volume : public PersistentObject 
{
	UE_DECLARE_DYNAMIC(Volume);
public:
	Volume();
	virtual ~Volume();

public:
	const CString& Name() const {
		return m_strVolumeName;
	}

	void Name(const CString& strName){
		m_strVolumeName = strName;
	}

	const CString& Description() const {
		return m_strVolumeDescription;
	}

	void Description(const CString& strDesc){
		m_strVolumeDescription = strDesc;
	}

	INT VolumeID() const {
		return (INT)Id();
	}

	void VolumeID(INT nID){
		Id(nID);
	}

public:
	virtual BOOL Accept(PersistentObjectOperation::PersistentObjectVisitor* pVisitor);

private:
	CString m_strVolumeName;
	CString m_strVolumeDescription;
	INT m_nVolumeID;
};

#endif // !defined(AFX_VOLUME_H__56857254_6D34_4891_B603_46A833E91CF2__INCLUDED_)
